home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / fireworxcrm13tut by nuno1.txt < prev    next >
Encoding:
Text File  |  2000-01-24  |  5.2 KB  |  156 lines

  1.                            Tutorial for FireWorx Crackme #13
  2.                                    cracked by Nuno1
  3.                             any comments are welcome to :
  4.                                  Nuno_2@hotmail.com
  5.  
  6. Information :
  7.     Cracker : Nuno1 
  8.     Date    : 17 july 1999
  9.     Level   : 3-4
  10.  
  11.     Tools used :
  12.       - SoftIce
  13.  
  14. Hey Crackers !
  15.  
  16. this Tutorial will teach you how to GET a serial code for FireWorx Crackme #13.
  17.  
  18. ok .. so let define our target :
  19.  
  20. - cant run while softice is on
  21. - when run , a nice dialog with two editbox (notice i didnt say Name and serial .. 
  22.   I am sure you have been sure it is :) )
  23. - a nice OK button to press to check the key.
  24.  
  25. ok .. let start with patch the crackme softice detector.
  26.  
  27. ------------ PATCHING SOFTICE DETECTOR -------------
  28.  
  29. first of .. i will explain to the crackers that still dont know.
  30.  
  31. VXDs / SYS's
  32. ------------
  33.   VXDs stands for "Virtual X Drivers" it is a windows 95/98 drivers 
  34.   (not NT drivers NT Drivers are SYS and they are totaly diffrent from VXDs
  35.   VXDs willn't work on a NT machine)
  36.   
  37.   the "X" in the name means the hardware that this driver for .. for example :
  38.   VKD - Virtual Keyboard Driver
  39.   VMD - Virtual Mouse Driver
  40.   VDD - Virtual Display Driver , etc
  41.  
  42.   the diffrents from a driver and from a an application is that the driver can get
  43.   to every IO Port , Memory Blocks , any process's they like .
  44.  
  45.   regualr applications can ONLY get into the memory of the current process and if
  46.   they are calling an I/O Port it is really a MAPPED I/O to a Driver.
  47.  
  48.   Drivers working on "RING 0" means have all the privilages
  49.   Applications working on "RING 3" means they have less privilages.
  50.  
  51.   there are two ways to load drivers :
  52.   1. when windows start.
  53.   2. Dynamicly
  54.  
  55.   to load it when windows start you need to put on the Registry or in system.ini the
  56.   driver name and thats it .
  57.  
  58.   to load it dynamicly you have to call CreateFileA API function with the 
  59.   filename "\\.\VXDFILE.VXD" and if it will run createfile will return an handle
  60.   else it return INVALID_HANDLE errorcode.
  61.   
  62.   ofcourse you have to make the driver able to load dynamicly.
  63.  
  64.   in the driver , there is an EVENT that run when CreateFileA as been called.
  65.   
  66.   now .. to be sure that a VXD/SYS is running , you have to call CreateFileA with the
  67.   "\\.\VXDFILE.VXD" if it return an error the Vxd is not running , else it is ..
  68.  
  69. lets return to our softice detector now .
  70.  
  71. as I told before .. softice is ofcourse a driver.
  72.  
  73. to make the crackme run , we have to patch the place that return TRUE when ask if 
  74. softice is running.
  75.  
  76. let start !
  77.  
  78. go to SoftIce and bpx CreateFileA , you first notice that Explorer as call it 
  79. ofcourse to open the process.
  80.  
  81. press "g" and look
  82.  
  83. do "d eax" , now you will see "\\.\SICE" (down there you can see that he also take
  84. the chance that you are on an NT machine and he try to find if there is "\\.\SICENT")
  85.  
  86. ok .. so here it is check if it is running . press F12
  87. and you will see this code :
  88.  
  89. CALL KERNEL32!CreateFileA  ; Open the SICE or SICENT driver
  90. CMP  Eax,-01               ; does it running ? 
  91. JZ   004553BB              ; jump if no .. else continue.
  92.  
  93. so all we have to do is break after the CreateFileA and do "r eax=-1"
  94.  
  95. that will solve the Softice Detector..
  96.  
  97. ------------------- SOLVING THE SERIAL -------------------
  98.  
  99. ok , now WITH softice we can run the crackme .. ;)
  100.  
  101. Type somthing in the two EditBoxs. (I used "Nuno1 Cracking" , "123456789")
  102.  
  103. bpx on hmemcpy . and press the OK button.
  104.  
  105. press some F12 until you will reach this line :
  106.  
  107. 4554E7 : MOV EAX,[EBP-08]
  108.  
  109. press one F10 and do "d EAX" you can see your name.
  110.  
  111. down there , there is a total mass up keygen , but if you will look good . you will 
  112. notice that nothing is really taken from your Name !! 
  113. ok .. lets break after the mass :)
  114.  
  115. bpx on 455564 . this is the end of the mass .. there is a CALL there . if you will
  116. enter to the call you will notice it is a strcmp like function and all it does is to
  117. compare your name with a number .. but what is that number ? lets look .
  118.  
  119. before entering again to the call just type "d edx" you will see the number that he
  120. is comparing with.
  121.  
  122. write the number in any paper. and disable all breakpoints .. now type it in the 
  123. FIRST editbox and press OK .
  124.  
  125. ha !! cracked !! but then what about the second editbox ????
  126.  
  127. type in the second editbox whatever you like !! anything , and it still work ;)
  128.  
  129. the second editbox is not really in any use ;) (read the start of the tutorial and 
  130. you will understand somthing that you didn't when you first read)
  131.  
  132. lets check this out to be 100% sure .
  133.  
  134. fill anything in the two editboxs and lets do a nice hmemcpy bpx.
  135.  
  136. press the OK .. did you notice he doesn't really cut the string from the second
  137. editbox ?
  138.  
  139. now .. you can also write a keygen for this .. even that it is not really a keygen
  140. it just taking the lines of the calc (you can by a min dump the assembly and just call
  141. this routine and it will give you all the combiniations , i didn't do it because 
  142. I dont think it is really interesting ;).. you welcome to do it yourself ;)
  143.  
  144. hope you learn somthing ;)
  145.  
  146. Nice cracking !
  147.  
  148. Nuno1 - Nuno_2@hotmail.com
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.   
  156.